package main

import "fmt"

func main() {
	/*
		以下面的代码为例：
		b := a[low:high]
			1.切片截取时，是截取从 low 到底层数组的末尾，即 [low, len(a)-1)
			2.多个切片截取同一个数组时，它们的底层数组是一样的，其中任何一个切片改变了某个位置的值，其他切片和原数组都会发生改变
	*/
	a := []int{1, 2, 3, 4, 5, 6, 7}
	b := a[1:4]
	fmt.Println(b, len(b), cap(b))
	c := b[1:]
	fmt.Println(c, len(c), cap(c))
	b[0] = 10
	c[0] = 10
	fmt.Println(a)
	/*
		[2 3 4] 3 6
		[3 4] 2 5
		[1 10 10 4 5 6 7]
	*/
}
